package com.bana.sys.utils;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Base64;

/**
 * 加密
 */
public class Encryption {

    /**
     * md5加密
     * @param value 要加密的字符串
     * @return 加密后的字符串
     */
    public static String md5Encrypt(String value)
    {
        try {
            MessageDigest md = MessageDigest.getInstance("MD5");
            byte[] digest = md.digest(value.getBytes());
            return Convert.toHex(digest,"");
        } catch (NoSuchAlgorithmException e) {
            return null;
        }
    }

    /**
     * base64编码加密
     * @param value 要加密的字符串
     * @return 加密后的字符串
     */
    public static String base64Encript(String value)
    {
        Base64.Encoder encoder = Base64.getEncoder();
        return encoder.encodeToString(value.getBytes());
    }

    /**
     * base64编码解密
     * @param value 要解密的字符串
     * @return 解密后的字符串
     */
    public static String base64Decrypt(String value)
    {
        Base64.Decoder decoder = Base64.getDecoder();
        return new String(decoder.decode(value));
    }

}